package week4;

/**
 *
 * 860. 柠檬水找零
 * https://leetcode-cn.com/problems/lemonade-change/submissions/
 *
 * 执行结果：  通过  显示详情
 *
 * 添加备注
 * 执行用时：2 ms, 在所有 Java 提交中击败了90.86% 的用户
 * 内存消耗：49 MB, 在所有 Java 提交中击败了5.13% 的用户
 *
 */
public class Week4LemonadeChange {

    public boolean lemonadeChange(int[] bills) {
        // 贪心问题
        int five = 0;
        int ten = 0;

        for(int bill : bills) {
            if(bill == 5) {
                // 直接收取
                five++;
            } else if(bill == 10){
                if(five == 0) {
                    // 无法找零
                    return false;
                }
                // 收下 10 退回 5
                five--;
                ten++;
            } else if(bill == 20){
                if(five > 0 && ten > 0) {
                    // 找零 一个 5 一个 10
                    five--;
                    ten--;
                } else if(five >= 3) {
                    // 找零 三个 5
                    five -= 3;
                } else {
                    return false;
                }
            }
        }

        return true;
    }
}
